<?php
/**
 * Classe Controladora Crud para Gerenciar Paineis GD3
 * @author Wiliame Morais
 *
 */
class PC4_Controlador_Crud_Paineis extends PC4_Controlador_Crud_UmParaMuitos {
	
	public $tipoPainel, $idTipoPainel;
	
	function init() {
		if(empty($this->idTipoPainel)){
			$mTipoPainel = new TipoPainel();
			$this->idTipoPainel = $mTipoPainel->getId($this->tipoPainel);
		}	
		
		if(empty($this->modelo)){
			$this->modelo = new Painel();
		}	
		
		$camposPadrao = array(
			'titulo' => 'Título',
			'arquivo' => array(
				'view' => 'imagem',
				'cabecalho' => 'Imagem',
				'required' => false,
				'ocultoLista' => true
			),
			'texto' => array(
				'view' => 'textarea',
				'required' => false,
			),
			'background' => array(
				'view' => 'imagem',
				'cabecalho' => 'Plano de fundo',
				'required' => false,
				'ocultoLista' => true
			)
		);
		
		$this->campos = (!empty($this->campos)) ? array_merge($camposPadrao, $this->campos) : $camposPadrao;

		parent::init();
	}

	public function getBean($id = 0){
		$campos = parent::getBean($id);
		$campos['id_tipos'] = $this->idTipoPainel;
		
		if($id != 0){
			$campos['beansRel'][0]['id_paineis'] = $id;
		}
		if(!empty($campos['arquivo'])){
			$campos['beansRel'][1]['arquivo'] = $campos['arquivo'];
		}
		if(!empty($campos['texto'])){
			$campos['beansRel'][1]['texto'] = $campos['texto'];
		}
		
		unset($campos['arquivo']); unset($campos['texto']);
		return $campos;
	}
	
    protected function getDados($where = null, $order = null, $count = null, $offset = null) {
		if($where == null){
			$where = $this->modelo->getSelect();
		}
		$where->where('id_tipos = ' . $this->idTipoPainel);
		$where->group('id');
		return parent::getDados($where, $order, $count, $offset);
    }

	public function formAction(){
		parent::formAction();
		$this->view->action .= '&view=json';
	}
}